{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Hybrid Approach to NLP.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyPuOAY78n6LAt20VHELObgH",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/rjrahul24/ai-with-python-series/blob/main/09.%20NLP%2C%20Bag%20of%20Words%20and%20Sentiment%20Analysis/Hybrid_Approach_to_NLP.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sZlEgrZnUeY_"
      },
      "source": [
        "# Importing the necessary packages\n",
        "import numpy as np \n",
        "import pandas as pd \n",
        "import re\n",
        "import nltk \n",
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline\n",
        "# Data Source: https://raw.githubusercontent.com/kolaveridi/kaggle-Twitter-US-Airline-Sentiment-/master/Tweets.csv\n",
        "import_data_url = \"https://raw.githubusercontent.com/kolaveridi/kaggle-Twitter-US-Airline-Sentiment-/master/Tweets.csv\"\n",
        "sentiment_tweets = pd.read_csv(import_data_url)"
      ],
      "execution_count": 1,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 265
        },
        "id": "LbzlI4j3VAHj",
        "outputId": "804c3cad-ecea-47f3-9e33-1770dd79adc5"
      },
      "source": [
        "# Running EDA on the input data set to understand it better. Distribution of tweets based on the airlines\n",
        "sentiment_tweets.airline.value_counts().plot(kind='pie', label='')"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f1875c94050>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 2
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 265
        },
        "id": "feUlybFDVeSS",
        "outputId": "adbad02f-b4fa-49fc-86a6-73cf151b4cb0"
      },
      "source": [
        "# Distinguish between the type of sentiments shown by users\n",
        "sentiment_tweets.airline_sentiment.value_counts().plot(kind='pie', autopct='%1.0f%%', colors=[\"brown\", \"orange\", \"blue\"])"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f1874627390>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 431
        },
        "id": "-w36R_6lVg0D",
        "outputId": "21486ec0-929e-421c-a497-dc3c5da2ef4c"
      },
      "source": [
        "airline_grouped_sentiment = sentiment_tweets.groupby(['airline', 'airline_sentiment']).airline_sentiment.count().unstack()\n",
        "airline_grouped_sentiment.plot(figsize=(8,5), kind='bar', title='Individual Sentiments for Airlines', xlabel='Airline Company', ylabel='Sentiment Count')"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f18746183d0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 4
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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iBFsueWWLF++nO7du3PMMcestf3111/n1ltvpWfPnjWe58UXX2TGjBm0bt2aXr168fTTT7Pvvvty/vnnc//999OqVSvuuusufvGLXzBixIgqzzF06FDeeustmjRpsqYbYciQIRx00EGMGDGCRYsW0aNHD7797W8DMHXqVF588UWaNGlCx44dOf/88xk6dCjXX389U6dOrfI9XnrpJWbOnMmWW27JTjvtxNlnn81zzz3Hddddx/Dhw7n22msZOHAgF110Ed/4xjeYM2cOhx56KDNnzgTg1VdfZdKkSSxZsoSOHTvywx/+kKFDhzJ9+vRq37OunOzNzCynhg0bxvjx4wGYO3cur7/++lrb27ZtW2uiB+jRowdt2rQBoGvXrsyePZvmzZszffp0DjnkEABWrVpVba0eoEuXLpx88skcddRRHHXUUQA8/PDDTJgwgauvvhpIbiGsqHEffPDBbLHFFgB06tSJt99+mx122KHGOLt3774mhg4dOtC7d28AOnfuzKRJkwB49NFHeeWVV9Yc88knn7B06VIAvvOd79CkSROaNGnC1ltvzfvvv1/rtakrJ3szM8uZxx57jEcffZRnnnmGTTbZhAMOOOAr94RvuummWZ2rSZMma543atSIlStXEhHsvvvuPPPMM1md4x//+AdPPPEEDzzwAEOGDGHatGlEBPfccw8dO3Zca9///ve/Vb5nXeLcYIMN1rzeYIMN1hy/evVqnn32WZo2bZrV58w1D9AzM7OcWbx4MS1atGCTTTbh1Vdf5dlnn83p+Tt27MiCBQvWJPsVK1YwY8aMKvddvXo1c+fO5cADD+R3v/sdixcvXjNmYPjw4UQEkHQX1KZx48asWLGi3nH37t2b4cOHr3ldW/P85ptvzpIlS+r9fpU52ZuZWc706dOHlStXsttuuzFo0KCsmuvrYqONNmLcuHH89Kc/Zc8996Rr167VjoxftWoVp5xyCp07d2avvfbiggsuoHnz5lx++eWsWLGCLl26sPvuu3P55ZfX+r4DBgxY0yVQH8OGDWPy5Ml06dKFTp06cdNNN9W4/1ZbbUWvXr3YY489uPTSS+v1nplU8c2mnHTr1i0mT55c6DDMzBpEoUbjz5w5k9122y0n57K6qeraS5oSEd2q2t81ezMzszLnAXpmZlbyzj33XJ5++um1ygYOHMgZZ5xRoIiKi5O9mZmVvBtuuKHQIRS1vDXjS9pB0iRJr0iaIWlgWj5Y0juSpqaPwzOO+ZmkWZJek3RoRnmftGyWpEH5itnMzKwc5bNmvxL4cUS8IGlzYIqkR9Jt10TE1Zk7S+oE9AN2B1oDj0r6Wrr5BuAQYB7wvKQJEfEKZmZmVqu8JfuImA/MT58vkTQT2L6GQ/oCYyLic+AtSbOAHum2WRHxJoCkMem+TvZmZmZZaJA+e0ntgL2A/wK9gPMknQZMJqn9f0zyRSBz9oV5fPnlYG6l8n3zHLKZmeVYXW8RrE2+F/SpzaJFixg9ejQ/+tGPAHj33Xe54IILGDduXEHjqkreb72TtBlwD3BhRHwC3Ah0ALqS1Pz/kKP3GSBpsqTJCxYsyMUpzczMqlV5GdrWrVsXZaKHPCd7SY1JEv2oiLgXICLej4hVEbEa+AtfNtW/A2SuNtAmLauufC0RcXNEdIuIbq1atcr9hzEzs5Iye/ZsdtttN77//e+z++6707t3b5YvX84bb7xBnz592Geffdh///159dVXAXjjjTfo2bMnnTt35rLLLmOzzTYDYOnSpRx88MHsvffedO7cmfvvvx9grWVoL730UmbPns0ee+wBQM+ePdeaxveAAw5g8uTJfPrpp5x55pn06NGDvfbaa8258i2fo/EF/BWYGRF/zCjPXJ7oaGB6+nwC0E9SE0ntgV2A54DngV0ktZe0Eckgvgn5itvMzMrH66+/zrnnnsuMGTNo3rw599xzDwMGDGD48OFMmTKFq6++ek0z/MCBAxk4cCDTpk1bs9oeQNOmTRk/fjwvvPACkyZN4sc//jERwdChQ+nQoQNTp079ynrzJ5xwAmPHjgVg/vz5zJ8/n27duq1ZXve5555j0qRJXHrppXz66ad5vw757LPvBZwKTJNUMeP/z4ETJXUFApgN/AAgImZIGksy8G4lcG5ErAKQdB7wENAIGBERVa96YGZmlqF9+/Z07doVgH322YfZs2fzn//8h+OOO27NPp9//jkAzzzzDPfddx8AJ510EpdccgkAEcHPf/5znnjiCTbYYAPeeeedWpehPf744+nduze//OUvGTt2LMceeyxQ/fK6+Z52OJ+j8Z8CVMWmB2s4ZggwpIryB2s6zszMrCqVl499//33ad68ea2rzmUaNWoUCxYsYMqUKTRu3Jh27dp9Zdneyrbffnu22morXn75Ze666641C99Ut7xuvnlufDMzW280a9aM9u3bc/fddwNJ8n3ppZeApJ/9nnvuAWDMmDFrjlm8eDFbb701jRs3ZtKkSbz99ttA7cvQnnDCCVx11VUsXryYLl26ANRred1c8HS5ZmbWIAp9q1yFUaNG8cMf/pArr7ySFStW0K9fP/bcc0+uvfZaTjnlFIYMGUKfPn3YYostADj55JM58sgj6dy5M926dWPXXXcF1l6G9rDDDuPcc89d632OPfZYBg4cuNYSupdffjkXXnghXbp0YfXq1bRv356///3vef/MXuLWzKzEeYnb3Fi2bBkbb7wxkhgzZgx33nlng42Wr6u6LnHrmr2ZmRkwZcoUzjvvPCKC5s2bM2LEiEKHlDNO9mZmZsD++++/pv++3HiAnpmZWZlzsjczMytzTvZmZmZlzsnezMyszHmAnpmZNYzBW+T4fItze75qVEyxe9JJJ9X52M0224ylS5fmIaq6cc3ezMysBrNnz2b06NFVblu5cmUDR1M/TvZmZlaW6rrE7emnn77WevQVS9wOGjSIJ598kq5du3LNNdcwcuRIvvvd73LQQQdx8MEHV7sEbjFxsjczs7JVlyVuqzN06FD2339/pk6dykUXXQTACy+8wLhx43j88cerXQK3mLjP3szMylZdlriti0MOOYQtt9wSqH4J3G233TY3HyIHnOzNzKxs1WWJ2w033JDVq1cDsHr1ar744otqz7vpppuueV6fJXAbmpvxzcxsvVHTErft2rVjypQpAEyYMIEVK1YAtS9lW90SuMXENXszM2sYDXSrXG2qW+L2+9//Pn379mXPPfekT58+a2rvXbp0oVGjRuy5556cfvrptGjRYq3zVbcEbjHxErdmZiXOS9yuf7zErZmVhbomMMhdEjMrN+6zNzMzK3NO9mZmZmXOyd7MzKzMOdmbmZmVOSd7MzOzMufR+GZm1iA639o5p+eb1n9aTs9XlZtuuolNNtmE0047jZEjR9K7d29at24NwNlnn83FF19Mp06d8h7HunKyNzMzq8Y555yz5vnIkSPZY4891iT7W265pVBh1Zmb8c3MrCzNnj2bXXfdlZNPPpnddtuNY489lmXLljFx4kT22msvOnfuzJlnnrlmIZxBgwbRqVMnunTpwiWXXALA4MGDufrqqxk3bhyTJ0/m5JNPpmvXrixfvpwDDjiAyZMnc9NNN3HppZeued+RI0dy3nnnAXDHHXfQo0cPunbtyg9+8ANWrVrV8BcCJ3szMytjr732Gj/60Y+YOXMmzZo1449//COnn346d911F9OmTWPlypXceOONLFy4kPHjxzNjxgxefvllLrvssrXOc+yxx9KtWzdGjRrF1KlT2XjjjddsO+aYYxg/fvya13fddRf9+vVj5syZ3HXXXTz99NNMnTqVRo0aMWrUqAb77Jmc7M3MrGztsMMO9OrVC4BTTjmFiRMn0r59e772ta8B0L9/f5544gm22GILmjZtyllnncW9997LJptskvV7tGrVip122olnn32WhQsX8uqrr9KrVy8mTpzIlClT6N69O127dmXixIm8+eabefmctXGfvZmZlS1Ja71u3rw5Cxcu/Mp+G264Ic899xwTJ05k3LhxXH/99fz73//O+n369evH2LFj2XXXXTn66KORRETQv39/fvvb367z51hXrtmbmVnZmjNnDs888wwAo0ePplu3bsyePZtZs2YBcPvtt/Otb32LpUuXsnjxYg4//HCuueaaNcveZqppqdujjz6a+++/nzvvvJN+/foBcPDBBzNu3Dg++OADAD766KOCLX/rmr2ZmTWIhrhVrrKOHTtyww03cOaZZ9KpUyeGDRtGz549Oe6441i5ciXdu3fnnHPO4aOPPqJv37589tlnRAR//OMfv3Ku008/nXPOOYeNN954zReICi1atGC33XbjlVdeoUePHgB06tSJK6+8kt69e7N69WoaN27MDTfcQNu2bRvks2fyErdmVpS86l32vMRt1WbPns0RRxzB9OnTCx1KztV1iVs345uZmZU5J3szMytL7dq1K8tafX042ZuZWb2VY1dwsavPNXeyNzOzemnatCkLFy50wm9AEcHChQtp2rRpnY7zaHwzM6uXNm3aMG/ePBYsWFDoUNYrTZs2pU2bNnU6xsnezMzqpXHjxrRv377QYVgW3IxvZmZW5vKW7CXtIGmSpFckzZA0MC3fUtIjkl5Pf7ZIyyVpmKRZkl6WtHfGufqn+78uqX++YjYzMytH+azZrwR+HBGdgJ7AuZI6AYOAiRGxCzAxfQ1wGLBL+hgA3AjJlwPgCmBfoAdwRcUXBDMzM6td3pJ9RMyPiBfS50uAmcD2QF/g1nS3W4Gj0ud9gdsi8SzQXNJ2wKHAIxHxUUR8DDwC9MlX3GZm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\n",
            "text/plain": [
              "<Figure size 576x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "id": "WRkr0lhWVj9B",
        "outputId": "e8a5fe30-70f0-4730-8941-90e97b667095"
      },
      "source": [
        "import seaborn as sns\n",
        "sns.barplot(x='airline_sentiment', y='airline_sentiment_confidence' , data=sentiment_tweets)"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f1874017e10>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tjyJq6gRVnB6"
      },
      "source": [
        "# Cleaning of data: Since these tweets might contain punctuation marks and other non-relevant characters, we will process those and remove them from the model\n",
        "# Let us also divide the feature and label sets for this data\n",
        "feature_set = sentiment_tweets.iloc[:, 10].values\n",
        "label_set = sentiment_tweets.iloc[:, 1].values\n",
        "cleaned_feature_set = list()\n",
        "for input_phrase in range(0, len(feature_set)):\n",
        "    # 1. Removing all the special characters (*,etc.) and single characters (a,an,etc.)\n",
        "    clean_feature = re.sub(r'\\W', ' ', str(feature_set[input_phrase]))\n",
        "    clean_feature= re.sub(r'\\s+[a-zA-Z]\\s+', ' ', clean_feature)\n",
        "    clean_feature = re.sub(r'\\^[a-zA-Z]\\s+', ' ', clean_feature) \n",
        "    # 2. Convert the entire phrase to lower cases\n",
        "    clean_feature = clean_feature.lower()\n",
        "    cleaned_feature_set.append(clean_feature)"
      ],
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "EfZNFLHbVsBH",
        "outputId": "d9af6436-eb7b-4944-c338-c02409419352"
      },
      "source": [
        "# Changing the text to a numerical form: All machine learning and statistical models use mathematics and numbers to compute data. Since the input here is textual, we will use the TF-IDF scheme to process words.\n",
        "# Import the necessary packages\n",
        "import nltk\n",
        "nltk.download(\"stopwords\")\n",
        "from sklearn.feature_extraction.text import TfidfVectorizer"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[nltk_data] Downloading package stopwords to /root/nltk_data...\n",
            "[nltk_data]   Unzipping corpora/stopwords.zip.\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zcHgL1PdVuh0"
      },
      "source": [
        "input_vector = TfidfVectorizer (max_features=3000, min_df=6, max_df=0.8, stop_words=stopwords.words('english'))\n",
        "cleaned_feature_set = input_vector.fit_transform(cleaned_feature_set).toarray()"
      ],
      "execution_count": 11,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 171
        },
        "id": "f4OSoNBDV7Vr",
        "outputId": "86edeb86-a715-4551-8475-ed6c8d883c5f"
      },
      "source": [
        "# Let us now use the Train, Test, Split function to divide this data into training and testing sets. We will use the training set to train the model and find the best suitable model for this prediction and then run that model on the test data to finalize the prediction score\n",
        "from sklearn.model_selection import train_test_split\n",
        "X_train, X_test, y_train, y_test = train_test_split(cleaned_feature_set, label_set, test_size=0.33, random_state=42)\n",
        "from sklearn.ensemble import RandomForestClassifier\n",
        "from sklearn.linear_model import LogisticRegression\n",
        "from sklearn.svm import SVC\n",
        "from sklearn.neighbors import KNeighborsClassifier\n",
        "from sklearn.metrics import accuracy_score\n",
        "# Random Forest Classification\n",
        "rf_classifier = RandomForestClassifier(n_estimators=200, random_state=42)\n",
        "rf_classifier.fit(X_train, y_train)\n",
        "rf_classifier_score = rf_classifier.score(X_train, y_train)\n",
        "# Support Vector Machine Linear Classification\n",
        "svc_classifier = SVC(kernel='linear')\n",
        "svc_classifier.fit(X_train, y_train)\n",
        "svc_classifier_score = svc_classifier.score(X_train, y_train)\n",
        "# Logistic Regression\n",
        "lr_classifier = LogisticRegression(random_state=0, solver='lbfgs', multi_class='ovr').fit(X_train, y_train)\n",
        "lr_classifier_score = lr_classifier.score(X_train, y_train)\n",
        "# K-Nearest Neighbors Classification\n",
        "knn_classifier = KNeighborsClassifier(n_neighbors=5)\n",
        "knn_classifier.fit(X_train, y_train)\n",
        "knn_classifier_score = knn_classifier.score(X_train, y_train)\n",
        "\n",
        "# Comparision of individual accuracy scores\n",
        "accuracy_scores = []\n",
        "Used_ML_Models = ['Random Forest Classification','Support Vector Machine Classification','Logistic Regression',\n",
        "                   'KNN Classification']\n",
        "accuracy_scores.append(rf_classifier_score)\n",
        "accuracy_scores.append(svc_classifier_score)\n",
        "accuracy_scores.append(lr_classifier_score)\n",
        "accuracy_scores.append(knn_classifier_score)\n",
        "score_comparisons = pd.DataFrame(Used_ML_Models, columns = ['Classifiers'])\n",
        "score_comparisons['Accuracy on Training Data'] = accuracy_scores\n",
        "score_comparisons"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Classifiers</th>\n",
              "      <th>Accuracy on Training Data</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>Random Forest Classification</td>\n",
              "      <td>0.992965</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>Support Vector Machine Classification</td>\n",
              "      <td>0.859808</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>Logistic Regression</td>\n",
              "      <td>0.820759</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>KNN Classification</td>\n",
              "      <td>0.797308</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                             Classifiers  Accuracy on Training Data\n",
              "0           Random Forest Classification                   0.992965\n",
              "1  Support Vector Machine Classification                   0.859808\n",
              "2                    Logistic Regression                   0.820759\n",
              "3                     KNN Classification                   0.797308"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 12
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "8CkyvintWjvQ",
        "outputId": "06d513fa-2589-4a98-e434-3054efc8fc21"
      },
      "source": [
        "# We see that the Random Forest Classifier performs the best\n",
        "# Final prediction using the best-case algorithm from the above table\n",
        "final_pred = rf_classifier.predict(X_test)\n",
        "# Accuracy score of the final prediction\n",
        "print(accuracy_score(y_test, final_pred))"
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "0.7667632450331126\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NKuQ70wqd0tu"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}